home *** CD-ROM | disk | FTP | other *** search
- ########################################################################
- # Module : htime.hsm
- # Description: Functions related with date and time.
- # Maintainer : Juergen Haible <juergen.haible@t-online.de>
- # Version : 2000-04-29
- ########################################################################
- # NOTE:
- # This module is delivered with Hamster and it will be overwritten when
- # installing a new version of it. It might also be used by accompanying
- # demo-scripts, which depend on the current implementation.
- # So do NOT change this file unless you REALLY know what you do!
- ########################################################################
-
- #!initialize
- debug( 255, "<<< module 'time.hsm' >>>" )
- return( 0 )
-
- ########################################################################
- # DateTimeStr: Converts the given timepoint into a date/time-string
- ########################################################################
- # [IN] $iDateTime: time in unix-format
- # [OUT] (result) : string of format "YYYY-MM-DD HH:NN:SS"
- # Example: print( DateTimeStr( time ) )
-
- sub DateTimeStr( $iDateTime )
- return( DateStr($iDateTime) + " " + TimeStr($iDateTime) )
- endsub
-
- ########################################################################
- # DateStr: Converts the given timepoint into a date-string
- ########################################################################
- # [IN] $iDateTime: time in unix-format
- # [OUT] (result) : string of format "YYYY-MM-DD"
- # Example: print( DateStr( time ) )
-
- sub DateStr( $iDateTime )
- var( $yyyy, $mm, $dd )
- decodetime( $iDateTime, $yyyy, $mm, $dd )
- return( str($yyyy,4) + "-" + str($mm,2) + "-" + str($dd,2) )
- endsub
-
- ########################################################################
- # TimeStr: Converts the given timepoint into a time-string
- ########################################################################
- # [IN] $iDateTime: time in unix-format
- # [OUT] (result) : string of format "HH:NN:SS"
- # Example: print( TimeStr( time ) )
-
- sub TimeStr( $iDateTime )
- var( $hh, $nn, $ss )
- decodetime( $iDateTime, 0, 0, 0, $hh, $nn, $ss )
- return( str($hh,2) + ":" + str($nn,2) + ":" + str($ss,2) )
- endsub
-
- ########################################################################
- # DayOfWeek: Returns the day of the week for a given timepoint.
- ########################################################################
- # [IN] $iDateTime: time in unix-format
- # [OUT] (result) : 1 (=Sunday), 2 (=Monday), ..., 7 (=Saturday)
- # Example: print( copy("SunMonTueWedThuFriSat",DayOfWeek(time)*3-2,3) )
-
- sub DayOfWeek( $iDateTime )
- var( $dow )
- decodetime( $iDateTime, 0, 0, 0, 0, 0, 0, $dow )
- return( $dow )
- endsub
-
- ########################################################################
- # FormatDateTime: Converts the given timepoint into a formatted date-/
- # time-string.
- ########################################################################
- # [IN] $iDateTime: time in unix-format
- # $sFormat : string containing placeholders for time-values:
- # "yyyy" (year, 4 digits), "yy" (year), "mm" (month),
- # "dd" (day), "hh" (hour), "nn" (minute), "ss" (sec.)
- # [OUT] (result) : $sFormat with replaced date-/time-placeholders
- # Example: print( FormatDateTime( time, "mm-dd-yyyy hh.nn" ) )
-
- sub FormatDateTime( $iDateTime, $sFormat )
- var( $yyyy, $yy, $mm, $dd, $hh, $nn, $ss )
- var( $dt, $i, $c )
-
- decodetime( $iDateTime, $yyyy, $mm, $dd, $hh, $nn, $ss )
- $yy = $yyyy % 100
-
- $dt = $sFormat
- $dt = replace( $dt, "yyyy", str($yyyy,4), true, true )
- $dt = replace( $dt, "yy", str($yy ,2), true, true )
- $dt = replace( $dt, "mm", str($mm ,2), true, true )
- $dt = replace( $dt, "dd", str($dd ,2), true, true )
- $dt = replace( $dt, "hh", str($hh ,2), true, true )
- $dt = replace( $dt, "nn", str($nn ,2), true, true )
- $dt = replace( $dt, "ss", str($ss ,2), true, true )
-
- return( $dt )
- endsub
-